4.2 OLED显示屏模块
(1)本次以OLED显示屏作为第一个实验,先让屏幕“亮”起来作为我们入门的第一步(选择开发板和选择端口以及上传的步骤以下不再赘述,具体参考3.4小结)。OLED显示屏使用了SPI总线连接,其原理图如下图所示。


我们需要用U8g2(驱动OLED屏幕的一个库)这个库在OLED屏幕显示,在Arduino IDE导航栏中点击“项目” —>“导入库” —>“管理库”,输入“U8g2”,查找选择最新版本进行安装。



(2)实验代码
#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h>
// spi驱动方式
U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 36, /* data=*/ 35, /* cs=*/ 10, /* dc=*/ 33, /* reset=*/ 34);
void setup(void) {
u8g2.begin();
}
void loop(void) {
u8g2.clearBuffer(); // 清除内部存储器
u8g2.setFont(u8g2_font_ncenB08_tr); // 选择合适的字体
u8g2.drawStr(0,10,"Hello World!"); // 在屏幕上显示 Hello World!
u8g2.sendBuffer(); // 将内部存储器传输到显示器
delay(1000);
}
编写代码并连接串口和开发板后,进行上传。

(3)实验讲解
| 函数 | 说明 |
|---|---|
| u8g2.begin() | 表示构造u8g2 |
| u8g2.clearBuffer(); | 清除缓冲区,一般是与sendBuffer函数配对使用 |
| u8g2.drawStr() | 绘制字符串 |
| @param x 左上角的x坐标 | |
| @param y 左上角的y坐标 | |
| @param s 绘制字符串内容 | |
| @return 字符串的长度 | |
| delay() | 延时函数 |
(4)实验现象
编译上传代码后,可以看到屏幕显示“Hello World!”。
